package com.uliky.common.valid;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;

/**
 * 自定义注解
 */

@Documented
//使用什么校验器进行校验
@Constraint(validatedBy = {ListValueConstraintValidator.class})
//能够被标注在哪些位置
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER, ElementType.TYPE_USE})
//可以在什么时候获取
@Retention(RetentionPolicy.RUNTIME)
public @interface ListValue {
    //检验失败去哪里取错误信息
    String message() default "{com.uliky.common.valid.ListValue.message}";
    //支持分组校验
    Class<?>[] groups() default {};
    //自定义负载信息
    Class<? extends Payload>[] payload() default {};
    int[] vals() default {};
}
